
// Header
#include <moose.h>

// C Header
#include <ctype.h>

#define IS_EMPTY_STR(str) ((str == NULL) || (str[0] == '\0'))

int moose_string_split(const char* str, int ch)
{
    if (IS_EMPTY_STR(str))
    {
        return 0;
    }

    const char* tmp = strchr(str, ch);
    if (tmp == NULL)
    {
        return strlen(str);
    }

    return (int)(tmp - str);
}

bool moose_string_is_number(const char* str, int len)
{
    for (int i = 0; i < len ; ++i)
        if (!isdigit(str[i]))
            return false;
    return true;
}

bool moose_string_is_bool(const char* str, int len)
{
    return (bool)((strncmp(str, "true", len) == 0) || (strncmp(str, "false", len) == 0));
}
